#ifndef __USR_EVENT_HANDLER_H
#define __USR_EVENT_HANDLER_H



/* ======================低功耗业务参数设置================================== */
#define LOW_POWER_TASK_DELAY_1S             (1)
#define LOW_POWER_TIME_MIN                  (60)
#define LOW_POWER_TIME_HOUR                 (LOW_POWER_TIME_MIN * 60)

#define NO_WORK_AND_NO_VIN_ENTRE_LOW_POWER_TIME         (LOW_POWER_TIME_MIN * 5)   //无订单下无外部电源进入低功耗时间
#define NO_WORK_ENTRE_LOW_POWER_TIME                    (LOW_POWER_TIME_MIN * 5)  //无订单下进入低功耗时间
#define QUIT_LOW_POWER_TIME                             (LOW_POWER_TIME_HOUR * 1)

/* ===========================上报业务参数设置===============================*/
#define REPORT_TASK_DELAY_1S                (1)
#define REPORT_TIME_MIN                     (60)
#define HEART_REPORT_TIME                   (3*REPORT_TIME_MIN)




/*========================上行的消息类型为：
上线通知：onLine
离线通知(遗属消息)：offLine
属性上报：onReport
事件通知：onChange
告警通知：onAlarm
指令响应（操作成功或失败）：onControl
下行的消息类型为：
控制指令：control==================================================
运动状态：轮动、GPS移动，20秒上报；非运动状态下20分钟上报一次；休眠状态1小时上次；事件实时上报,心跳包20分钟内上报一次就可以了，20分钟检查一次,可以设置成15分钟*/

typedef enum{
    CASE_TASK_PING = 0, //心跳包
    CASE_TASK_ON_REPORT,    //属性上报
    CASE_TASK_ON_CHANG,     //事件通知
    CASE_TASK_ON_ALARM,     //告警通知
    CASE_TASK_ON_CONTROL,   //获取设备参数响应
    CASE_TASK_ON_LINE, //上线通知
}CASE_TASK_MSG;

void app_event_deal_init(void);

#endif
